package com.ys.nms.module.business.service.localCompanyDevicetType;

import com.ys.nms.module.business.controller.admin.localCompanyDevicetType.vo.CompanyDeviceTypeListReqVO;
import com.ys.nms.module.business.controller.admin.localCompanyDevicetType.vo.CompanyDeviceTypeSaveReqVO;
import com.ys.nms.module.business.dal.dataobject.localCompanyDevicetType.CompanyDeviceTypeDO;

import jakarta.validation.Valid;
import java.util.*;

/**
 * 设备类型 Service 接口
 *
 * @author 超级管理员
 */
public interface CompanyDeviceTypeService {

    /**
     * 创建设备类型
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createCompanyDeviceType(@Valid CompanyDeviceTypeSaveReqVO createReqVO);

    /**
     * 更新设备类型
     *
     * @param updateReqVO 更新信息
     */
    void updateCompanyDeviceType(@Valid CompanyDeviceTypeSaveReqVO updateReqVO);

    /**
     * 删除设备类型
     *
     * @param id 编号
     */
    void deleteCompanyDeviceType(Long id);


    /**
     * 获得设备类型
     *
     * @param id 编号
     * @return 设备类型
     */
    CompanyDeviceTypeDO getCompanyDeviceType(Long id);

    /**
     * 获得设备类型列表
     *
     * @param listReqVO 查询条件
     * @return 设备类型列表
     */
    List<CompanyDeviceTypeDO> getCompanyDeviceTypeList(CompanyDeviceTypeListReqVO listReqVO);

}